package main

import "fmt"

/**
 * 全局变量包类生效
 */
var aa = 255
var bb = true

var (
	cc = 1
	dd = false
)

/**
 * 变量会自动赋初始值
 */
func variableZeroValue() {
	var a int
	var b string
	fmt.Printf("%d %q\n", a, b)
}

/**
 * 手动赋初始值
 */
func variableInitialValue() {
	var a, b = 1, 2
	var c = "zss"
	fmt.Println(a, b, c)
}

/**
 * 变量会自动推断类型
 */
func variableTypeDeduction() {
	var a, b, c = 3, true, "zss"
	fmt.Println(a, b, c)
}

/**
 * 用冒号表示定义变量
 */
func variableShorter() {
	a, b, c := 4, true, "zss"
	a = 5
	fmt.Println(a, b, c)
}

/**
 * 常量
 */
func enums() {
	const token = "zss";
	// 枚举 iota自增（0,1,2,...）
	const (
		man = iota
		girl
	)
	fmt.Println(token)
	fmt.Println(man, girl)
}

func main() {
	fmt.Println("Hello World!")
	variableZeroValue()
	variableInitialValue()
	variableTypeDeduction()
	variableShorter()
	fmt.Println(aa, bb, cc, dd)
	enums()
	var a = 5
	var b = 2
	var c float64
	fmt.Println(c)
	fmt.Printf("c = %f\n", c)
	c = float64(a) / float64(b)
	fmt.Println(c)
	fmt.Printf("c = %f\n", c)
}



